import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 25397
 * Date: 2022-04-04
 * Time: 22:35
 */
public class Demo27 {
    public static void main(String[] args) throws InterruptedException {
        AtomicInteger num=new AtomicInteger(0);
        Thread t1=new Thread(()->{
            for(int i=0;i<50000;i++){
                num.getAndIncrement();//相当于num++;
            }
        });
        t1.start();

        Thread t2=new Thread(()->{
            for(int i=0;i<50000;i++){
                num.getAndIncrement();
            }
        });
        t2.start();
        t1.join();
        t2.join();

        //通过get方法得到原子类 内部的数值
        System.out.println(num.get());//打印100000，不存在线程安全问题

        //原子类的一些其他基础操作
//        //++num
//        num.incrementAndGet();
//        //--num
//        num.decrementAndGet();
//        //num--
//        num.getAndDecrement();
//        //+=10
//        num.getAndAdd(10);
    }
}
